package com.itheima;

import org.junit.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class Tpoic438 {

    public List<Integer> findAnagrams(String s, String p) {

        int l = 0;
        int psize = p.length();//滑动窗口大小
        int ssize = s.length();

        int[] pa = new int[26]; //p数组所包含字符
        int[] sa = new int[26]; //s数组所包含字符

        List<Integer> ans = new ArrayList<>();
        for(int i = 0; i < psize; i++) {
            pa[p.charAt(i) - 'a']++;
        }
//        System.out.println(Arrays.toString(pa));
        for(int i = 0; i < ssize; i++) {

            sa[s.charAt(i) - 'a']++;

            if(i - l == psize - 1) {
                if(Arrays.equals(sa, pa)) {
                    ans.add(l);

                }

//                System.out.println(Arrays.toString(sa));
                sa[s.charAt(l) - 'a']--;
                l++;
            }



        }
//        System.out.println(ans);
        return ans;
    }


    @Test
    public void test() {
        findAnagrams("cbaebabacd", "abc");
    }

}
